package com.jblv.frame.user.api.dto;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.List;

/**
 * @author happyonion.yangtao
 * @version 1.0
 * @title SysUserDTO
 * @projectName jblv-frame
 * @packageName com.jblv.web.dto
 * @description 用户列表DTO
 * @date Create at 2020/4/29 23:03
 * @since jdk1.8
 */
@ApiModel(value="管理员DTO类",description="管理员数据传类" )
public class SysUserDTO implements Serializable {
    private static final long serialVersionUID = -2568783836533671362L;

    /**
     * 用户ID
     */
    @ApiModelProperty(value = "userId",example="45a4f4f898944d7d952535509095f248")
    private String userId;
    /**
     * 用户昵称
     */
    @ApiModelProperty(example="52ww",required = false)
    private String userName;
    /**
     * 登录名字
     */
    @ApiModelProperty(example="52ww")
    private String loginName;
    /**
     * 部门ID
     */
    @ApiModelProperty(example="123")
    private String deptId;
    /**
     * 用户类型
     */
    @ApiModelProperty(example="1")
    private String userType;
    /**
     * 用户邮箱
     */
    @ApiModelProperty(example="test@test.com")
    private String email;
    /**
     * 手机号码
     */
    @ApiModelProperty(example="15888888888")
    private String mobile;
    /**
     * 性别（0男 1女 2未知）
     */
    @ApiModelProperty(example="1")
    private String sex;
    /**
     * 密码
     */
    @ApiModelProperty(example="sadswqwq2d12fe45sadswqwq2d12fe45")
    private String password;
    /**
     * 头像路径
     */
    @ApiModelProperty(example="sadswqwq2d12fe45sadswqwq2d12fe45")
    private String avatar;
    /**
     * 盐加密
     */
    private String salt;
    /**
     * 状态（0正常 1停用）
     */
    @ApiModelProperty(example="1")
    private Integer status;
    /**
     * 最后登陆IP
     */
    @ApiModelProperty(example="127.0.0.1")
    private String loginIp;
    /**
     * 最后登陆时间
     */
    @ApiModelProperty(example="1588254943687")
    private Long loginDate;
    /**
     * TOKEN
     */
    private String token;
    /**
     * 创建时间
     */
    @ApiModelProperty(example="1588254943687")
    private Long createTime;
    /**
     * 创建人员
     */
    private String creator;
    /**
     * 更新时间
     */
    @ApiModelProperty(example="1588254943687")
    private Long updateTime;
    /**
     * 更新人员
     */
    private String updater;
    /**
     * 备注
     */
    private String remark;
    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @ApiModelProperty(example="1")
    private Integer deleteFlag;

    /**
     * 用户角色
     */
    @ApiModelProperty(example="[admin,editor]")
    private List<String> roles;

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getSalt() {
        return salt;
    }

    public void setSalt(String salt) {
        this.salt = salt;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getLoginIp() {
        return loginIp;
    }

    public void setLoginIp(String loginIp) {
        this.loginIp = loginIp;
    }

    public Long getLoginDate() {
        return loginDate;
    }

    public void setLoginDate(Long loginDate) {
        this.loginDate = loginDate;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public Long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Long updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdater() {
        return updater;
    }

    public void setUpdater(String updater) {
        this.updater = updater;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(Integer deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public List<String> getRoles() {
        return roles;
    }

    public void setRoles(List<String> roles) {
        this.roles = roles;
    }

    @Override
    public String toString() {
        return "SysUserDTO{" +
                "userId='" + userId + '\'' +
                ", userName='" + userName + '\'' +
                ", loginName='" + loginName + '\'' +
                ", deptId='" + deptId + '\'' +
                ", userType='" + userType + '\'' +
                ", email='" + email + '\'' +
                ", mobile='" + mobile + '\'' +
                ", sex='" + sex + '\'' +
                ", password='" + password + '\'' +
                ", avatar='" + avatar + '\'' +
                ", salt='" + salt + '\'' +
                ", status=" + status +
                ", loginIp='" + loginIp + '\'' +
                ", loginDate=" + loginDate +
                ", token='" + token + '\'' +
                ", createTime=" + createTime +
                ", creator='" + creator + '\'' +
                ", updateTime=" + updateTime +
                ", updater='" + updater + '\'' +
                ", remark='" + remark + '\'' +
                ", deleteFlag=" + deleteFlag +
                ", roles=" + roles +
                '}';
    }
}
